from core.basic.skill import 技能
from core.basic.character import Character
from core.basic.skill import 主动技能, 被动技能


class 技能0(主动技能):
    名称 = '双重散射'
    所在等级 = 15
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [30, 300]
    # 第1次射击攻击力：<data0>%
    data0 = [int(i*1.12) for i in [0, 1109, 1222, 1335, 1445, 1558, 1671, 1784, 1897, 2008, 2121, 2234, 2347, 2459, 2571, 2684, 2797, 2910, 3022, 3135, 3247, 3359, 3471, 3584, 3697, 3809, 3922, 4034, 4147, 4260, 4373, 4484, 4597, 4710,
                                   4823, 4935, 5047, 5159, 5272, 5385, 5497, 5609, 5722, 5835, 5947, 6060, 6173, 6285, 6398, 6510, 6623, 6736, 6849, 6959, 7072, 7185, 7298, 7411, 7522, 7635, 7748, 7861, 7973, 8085, 8198, 8311, 8424, 8536, 8649, 8761, 8873]]
    hit0 = 1
    # 第2次射击攻击力：<data1>%
    data1 = [int(i*1.12) for i in [0, 1663, 1831, 2001, 2169, 2339, 2507, 2676, 2845, 3013, 3182, 3352, 3521, 3689, 3857, 4026, 4195, 4365, 4533, 4701, 4871, 5039, 5208, 5377, 5545, 5715, 5883, 6052, 6220, 6390, 6559, 6727, 6896, 7064, 7233, 7402,
                                   7571, 7740, 7909, 8078, 8246, 8414, 8585, 8753, 8922, 9090, 9258, 9428, 9597, 9766, 9934, 10102, 10272, 10440, 10610, 10778, 10947, 11116, 11284, 11453, 11623, 11792, 11960, 12128, 12297, 12466, 12636, 12804, 12972, 13142, 13310]]
    hit1 = 1
    CD = 5
    TP成长 = 0.10
    TP上限 = 7


class 技能1(主动技能):
    名称 = '爆烈斩击'
    所在等级 = 20
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [40, 400]
    data0 = [int(i*1.114) for i in [0, 977, 1075, 1175, 1275, 1374, 1473, 1572, 1671, 1771, 1869, 1968, 2068, 2167, 2265, 2365, 2464, 2564, 2663, 2761, 2861, 2960, 3059, 3158, 3257, 3356, 3456, 3554, 3653, 3753, 3852, 3950, 4050, 4150,
                                    4250, 4349, 4447, 4547, 4646, 4745, 4845, 4943, 5042, 5142, 5241, 5339, 5439, 5538, 5637, 5736, 5835, 5934, 6034, 6132, 6232, 6331, 6430, 6530, 6628, 6727, 6827, 6927, 7025, 7125, 7224, 7323, 7422, 7521, 7620, 7720, 7819]]
    hit0 = 1
    data1 = [int(i*1.114) for i in [0, 2280, 2511, 2742, 2975, 3206, 3437, 3668, 3899, 4131, 4362, 4594, 4825, 5056, 5287, 5518, 5751, 5983, 6214, 6445, 6676, 6907, 7138, 7369, 7602, 7833, 8064, 8295, 8526, 8758, 8990, 9221, 9453, 9684, 9915, 10146, 10377,
                                    10609, 10840, 11071, 11302, 11535, 11766, 11998, 12229, 12460, 12691, 12922, 13153, 13385, 13617, 13848, 14079, 14311, 14542, 14773, 15006, 15237, 15468, 15699, 15930, 16161, 16392, 16624, 16855, 17088, 17319, 17550, 17781, 18013, 18244]]
    hit1 = 1
    CD = 5
    TP成长 = 0.10
    TP上限 = 7


class 技能2(被动技能):
    名称 = '重剑精通'
    所在等级 = 20
    等级上限 = 30
    基础等级 = 20

    def 物理攻击力倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        if self.等级 <= 20:
            return round(1.05 + 0.01 * self.等级, 5)
        else:
            return round(1.25 + 0.025 * (self.等级 - 20), 5)


class 技能3(主动技能):
    名称 = '剑刃爆弹'
    所在等级 = 25
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [60, 600]
    # 击退攻击力：<data0>%
    data0 = [int(i*1.12) for i in [0, 646, 712, 777, 843, 908, 974, 1039, 1106, 1171, 1236, 1302, 1367, 1433, 1498, 1565, 1631, 1695, 1761, 1826, 1892, 1957, 2024, 2089, 2155, 2220, 2285, 2351, 2416, 2482, 2548, 2614, 2680, 2744,
                                   2810, 2875, 2941, 3007, 3073, 3139, 3204, 3270, 3334, 3400, 3465, 3532, 3598, 3663, 3729, 3794, 3859, 3924, 3991, 4057, 4122, 4188, 4253, 4319, 4383, 4450, 4516, 4581, 4647, 4712, 4778, 4843, 4909, 4975, 5040, 5106, 5171]]
    hit0 = 1
    # 爆炸攻击力：<data1>%
    data1 = [int(i*1.12) for i in [0, 1830, 2017, 2204, 2389, 2575, 2760, 2946, 3131, 3318, 3503, 3689, 3876, 4061, 4247, 4433, 4619, 4804, 4990, 5175, 5361, 5549, 5734, 5920, 6105, 6291, 6476, 6662, 6849, 7034, 7221, 7406, 7592, 7777, 7964, 8149,
                                   8335, 8521, 8706, 8893, 9078, 9265, 9450, 9636, 9821, 10007, 10192, 10379, 10566, 10751, 10937, 11122, 11308, 11493, 11680, 11866, 12051, 12238, 12423, 12609, 12795, 12981, 13166, 13352, 13538, 13723, 13911, 14096, 14282, 14467, 14653]]
    hit1 = 3
    # 特殊灼伤攻击力：<data2>%
    data2 = [int(i*1.12) for i in [0, 46, 50, 54, 60, 64, 69, 74, 78, 84, 88, 92, 97, 101, 106, 112, 116, 120, 126, 130, 135, 139, 143, 149, 154, 158, 163, 167, 173, 177, 181, 186, 191, 196, 201,
                                   205, 209, 214, 219, 224, 228, 233, 238, 243, 247, 252, 256, 260, 266, 270, 276, 280, 285, 290, 294, 298, 303, 308, 312, 318, 322, 327, 332, 336, 341, 345, 349, 355, 360, 365, 369]]
    hit2 = 7
    CD = 12
    TP成长 = 0.10
    TP上限 = 7


class 技能4(主动技能):
    名称 = '广域散射'
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [30, 300]
    data0 = [int(i*1.121) for i in [0, 4965, 5468, 5972, 6475, 6980, 7483, 7988, 8491, 8995, 9498, 10002, 10506, 11009, 11513, 12016, 12521, 13024, 13529, 14032, 14536, 15039, 15543, 16046, 16550, 17055, 17559, 18062, 18565, 19069, 19572, 20077, 20580, 21084, 21587,
                                    22092, 22595, 23099, 23603, 24107, 24610, 25113, 25617, 26120, 26626, 27129, 27633, 28136, 28640, 29143, 29648, 30151, 30655, 31159, 31662, 32166, 32669, 33174, 33677, 34181, 34684, 35188, 35691, 36197, 36700, 37204, 37707, 38210, 38714, 39217, 39722]]
    hit0 = 1
    CD = 7
    TP成长 = 0.10
    TP上限 = 7


class 技能5(主动技能):
    名称 = 'G型火焰爆弹'
    所在等级 = 30
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60
    MP = [60, 600]
    data0 = [int(i*1.112) for i in [0, 5550, 6112, 6676, 7239, 7801, 8364, 8927, 9492, 10054, 10617, 11180, 11742, 12306, 12869, 13432, 13994, 14559, 15122, 15684, 16247, 16810, 17374, 17936, 18499, 19062, 19625, 20189, 20752, 21314, 21877, 22441, 23004, 23566, 24129,
                                    24692, 25256, 25819, 26382, 26945, 27508, 28071, 28634, 29196, 29759, 30324, 30887, 31449, 32012, 32576, 33138, 33701, 34264, 34827, 35391, 35954, 36517, 37079, 37643, 38206, 38769, 39331, 39894, 40459, 41021, 41584, 42147, 42709, 43273, 43836, 44399]]
    hit0 = 1
    # 特殊灼伤攻击力：<data1>%
    data1 = [int(i*1.112) for i in [0, 41, 46, 50, 53, 59, 63, 66, 71, 75, 80, 84, 88, 92, 95, 100, 105, 110, 113, 117, 122, 126, 130, 135, 139, 142, 146, 152, 155, 159, 164, 168, 173, 177, 181,
                                    184, 189, 194, 199, 202, 206, 210, 214, 219, 224, 228, 231, 235, 241, 244, 248, 253, 257, 260, 266, 270, 275, 278, 282, 288, 291, 295, 299, 304, 308, 312, 317, 320, 324, 329, 334]]
    hit1 = 7
    CD = 10
    TP成长 = 0.10
    TP上限 = 7


class 技能6(被动技能):
    名称 = '火药改良'
    所在等级 = 30
    等级上限 = 20
    基础等级 = 10

    def 加成倍率(self, 武器类型):
        return round(1 + 0.015 * self.等级, 5)


class 技能7(主动技能):
    名称 = '爆裂斩'
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60

    # 第一次爆炸攻击力：<data0>%
    data0 = [int(i*1.123) for i in [0, 2106, 2320, 2533, 2747, 2961, 3175, 3388, 3602, 3815, 4030, 4243, 4457, 4671, 4884, 5098, 5312, 5526, 5740, 5952, 6167, 6381, 6594, 6808, 7021, 7236, 7450, 7662, 7877, 8090, 8304, 8518, 8731, 8946, 9158, 9372, 9587,
                                    9800, 10015, 10227, 10441, 10656, 10868, 11082, 11296, 11510, 11725, 11937, 12151, 12365, 12578, 12792, 13006, 13220, 13433, 13647, 13861, 14075, 14288, 14501, 14716, 14930, 15143, 15357, 15570, 15785, 15998, 16212, 16426, 16638, 16853]]
    hit0 = 1
    # 第二次爆炸攻击力：<data1>%
    data1 = [int(i*1.123) for i in [0, 3160, 3481, 3801, 4121, 4442, 4762, 5083, 5403, 5723, 6045, 6365, 6686, 7007, 7327, 7648, 7968, 8289, 8609, 8930, 9251, 9571, 9892, 10212, 10532, 10853, 11173, 11496, 11816, 12136, 12457, 12777, 13098, 13418, 13738, 14059,
                                    14380, 14701, 15021, 15341, 15662, 15982, 16304, 16624, 16944, 17266, 17586, 17907, 18227, 18547, 18868, 19188, 19509, 19829, 20150, 20471, 20792, 21113, 21433, 21753, 22074, 22394, 22716, 23036, 23356, 23677, 23997, 24318, 24638, 24958, 25281]]
    hit1 = 1
    # 第三次爆炸攻击力：<data2>%
    data2 = [int(i*1.123) for i in [0, 5266, 5800, 6334, 6868, 7403, 7937, 8472, 9006, 9540, 10074, 10609, 11143, 11678, 12212, 12745, 13280, 13814, 14349, 14883, 15418, 15952, 16487, 17020, 17554, 18089, 18623, 19158, 19692, 20227, 20760, 21295, 21829, 22364, 22898,
                                    23432, 23967, 24500, 25035, 25569, 26104, 26638, 27173, 27707, 28240, 28775, 29309, 29844, 30378, 30913, 31447, 31981, 32515, 33050, 33584, 34118, 34653, 35187, 35721, 36255, 36790, 37324, 37859, 38393, 38927, 39461, 39995, 40530, 41064, 41599, 42133]]
    hit2 = 1
    CD = 15
    TP成长 = 0.10
    TP上限 = 5

    MP = [70, 700]
    无色消耗 = 1


class 技能8(主动技能):
    名称 = '爆弹罗网'
    所在等级 = 35
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60

    # 射击攻击力：<data0>%
    data0 = [int(i) for i in [0, 611, 673, 733, 796, 858, 920, 982, 1044, 1107, 1167, 1229, 1292, 1353, 1416, 1478, 1540, 1601, 1663, 1726, 1787, 1849, 1912, 1974, 2034, 2097, 2159, 2222, 2283, 2345, 2408, 2468, 2531, 2593,
                              2655, 2717, 2779, 2841, 2902, 2964, 3027, 3089, 3150, 3213, 3275, 3336, 3398, 3460, 3523, 3584, 3646, 3709, 3769, 3832, 3894, 3956, 4018, 4080, 4143, 4204, 4265, 4328, 4390, 4452, 4514, 4575, 4638, 4699, 4761, 4824, 4885]]
    hit0 = 1
    # 爆炸攻击力：<data1>%
    data1 = [int(i) for i in [0, 1831, 2018, 2204, 2389, 2575, 2761, 2947, 3133, 3319, 3505, 3690, 3877, 4062, 4248, 4434, 4620, 4805, 4991, 5178, 5363, 5550, 5735, 5921, 6106, 6293, 6479, 6665, 6851, 7036, 7222, 7407, 7594, 7779, 7966, 8152,
                              8337, 8523, 8709, 8895, 9081, 9267, 9453, 9638, 9825, 10010, 10197, 10382, 10568, 10753, 10939, 11126, 11311, 11498, 11683, 11869, 12054, 12241, 12427, 12613, 12799, 12984, 13170, 13356, 13542, 13729, 13914, 14100, 14285, 14471, 14657]]
    hit1 = 6
    # 特殊灼伤攻击力：<data2>%
    data2 = [int(i) for i in [0, 87, 95, 105, 113, 122, 131, 140, 149, 157, 166, 176, 184, 192, 202, 210, 220, 228, 237, 246, 255, 264, 272, 281, 291, 299, 308, 317, 326, 335, 343, 352, 361, 370,
                              379, 387, 396, 406, 414, 423, 432, 441, 450, 458, 468, 476, 485, 494, 502, 511, 521, 529, 538, 547, 556, 565, 573, 583, 591, 600, 609, 617, 627, 636, 644, 653, 662, 671, 680, 688, 698]]
    hit2 = 7
    CD = 20
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    MP = [70, 700]
    无色消耗 = 1

    def 装备护石(self):
        self.hit1 = 2
        self.power1 = 3.8


class 技能9(主动技能):
    名称 = '裂地爆刃'
    所在等级 = 40
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60

    # 爆炸攻击力：<data0>%
    data0 = [int(i*1.12) for i in [0, 15859, 17469, 19078, 20687, 22296, 23905, 25514, 27122, 28732, 30341, 31949, 33559, 35167, 36776, 38386, 39994, 41603, 43213, 44821, 46430, 48039, 49649, 51258, 52867, 54476, 56084, 57694, 59303, 60911, 62521, 64130, 65738, 67348, 68956,
                                   70565, 72175, 73783, 75392, 77002, 78610, 80219, 81829, 83438, 85047, 86656, 88265, 89873, 91483, 93092, 94700, 96310, 97919, 99527, 101137, 102745, 104354, 105964, 107572, 109181, 110790, 112399, 114009, 115618, 117227, 118836, 120445, 122054, 123662, 125272, 126881]]
    hit0 = 1
    CD = 25
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    MP = [80, 800]
    无色消耗 = 1

    def 装备护石(self):
        self.倍率 = 1.24*1.07
        self.CDR *= 0.92


class 技能10(主动技能):
    名称 = '惊喜大礼'
    所在等级 = 45
    等级上限 = 70
    学习间隔 = 2
    等级精通 = 60

    # 爆炸攻击力：<data0>%
    data0 = [int(i*1.123) for i in [0, 4605, 5072, 5539, 6008, 6474, 6942, 7408, 7876, 8343, 8810, 9277, 9745, 10212, 10680, 11146, 11614, 12080, 12548, 13016, 13483, 13950, 14417, 14884, 15352, 15818, 16286, 16753, 17221, 17688, 18155, 18622, 19089, 19556, 20024,
                                    20491, 20959, 21425, 21893, 22360, 22827, 23294, 23762, 24229, 24697, 25163, 25631, 26098, 26565, 27032, 27499, 27967, 28435, 28901, 29369, 29835, 30303, 30770, 31238, 31706, 32172, 32640, 33107, 33574, 34041, 34508, 34976, 35444, 35910, 36378, 36844]]
    hit0 = 6
    CD = 45
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    MP = [90, 900]
    无色消耗 = 2

    def 装备护石(self):
        self.倍率 = 1.15
        self.CDR *= 0.89


class 技能11(被动技能):
    名称 = '终极火力'
    所在等级 = 48
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.035 + 0.02 * self.等级, 5)


class 技能12(主动技能):
    名称 = 'G型烬灭榴弹'
    所在等级 = 50
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40

    # 首次爆炸攻击力：<data0>%
    data0 = [int(i*1.12) for i in [0, 6505, 8013, 9522, 11031, 12539, 14047, 15556, 17064, 18573, 20081, 21590, 23099, 24608, 26116, 27624, 29132, 30640, 32149, 33659, 35167, 36675, 38183, 39693, 41201, 42709, 44217, 45727, 47235, 48744, 50252, 51760, 53269, 54777, 56285,
                                   57795, 59303, 60812, 62320, 63828, 65337, 66845, 68354, 69863, 71371, 72879, 74389, 75897, 77405, 78913, 80421, 81932, 83440, 84948, 86456, 87965, 89473, 90982, 92490, 93999, 95508, 97016, 98525, 100033, 101541, 103050, 104558, 106067, 107576, 109085, 110593]]
    hit0 = 1
    # 特殊灼伤攻击力：<data1>%
    data1 = [int(i*1.12) for i in [0, 464, 572, 680, 787, 895, 1003, 1111, 1218, 1327, 1433, 1542, 1649, 1758, 1864, 1973, 2080, 2188, 2296, 2404, 2511, 2619, 2727, 2835, 2941, 3050, 3157, 3266, 3373, 3482, 3588, 3697, 3804, 3913,
                                   4019, 4127, 4235, 4343, 4451, 4558, 4666, 4774, 4881, 4990, 5098, 5205, 5313, 5421, 5529, 5635, 5744, 5851, 5960, 6067, 6176, 6282, 6391, 6498, 6607, 6713, 6821, 6929, 7037, 7145, 7253, 7360, 7468, 7575, 7684, 7790, 7899]]
    hit1 = 7
    # 霰弹枪射击攻击力：<data2>%
    data2 = [int(i*1.12) for i in [0, 5692, 7011, 8332, 9651, 10972, 12291, 13611, 14932, 16251, 17572, 18891, 20211, 21531, 22851, 24172, 25491, 26811, 28131, 29451, 30771, 32091, 33411, 34731, 36051, 37371, 38691, 40010, 41331, 42650, 43971, 45291, 46611, 47931, 49250,
                                   50571, 51890, 53211, 54531, 55849, 57170, 58489, 59810, 61129, 62449, 63769, 65089, 66409, 67729, 69049, 70369, 71689, 73009, 74329, 75648, 76969, 78289, 79609, 80929, 82248, 83569, 84888, 86209, 87529, 88848, 90169, 91488, 92809, 94128, 95449, 96769]]
    hit2 = 4
    # 最终爆炸攻击力：<data3>%
    data3 = [int(i*1.12) for i in [0, 32527, 40069, 47612, 55155, 62697, 70240, 77781, 85324, 92868, 100409, 107953, 115496, 123038, 130581, 138123, 145666, 153209, 160750, 168293, 175836, 183378, 190922, 198463, 206007, 213550, 221092, 228634, 236176, 243719, 251262, 258804, 266347, 273890, 281432,
                                   288975, 296516, 304060, 311603, 319145, 326688, 334231, 341773, 349316, 356858, 364401, 371943, 379485, 387028, 394570, 402114, 409657, 417199, 424742, 432285, 439826, 447369, 454911, 462454, 469997, 477539, 485082, 492626, 500168, 507711, 515252, 522795, 530338, 537880, 545423, 552965]]
    hit3 = 1
    CD = 145

    MP = [980, 8232]
    无色消耗 = 5

    def 等效百分比(self, **argv):
        # Lv3：[G型烬灭榴弹]攻击力增加10%
        return super().等效百分比(**argv) * (1.1 if self.等级 >= 3 else 1)


class 技能13(主动技能):
    名称 = '完美击球'
    所在等级 = 60
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    # 旋转爆炸攻击力：<data0>%
    data0 = [int(i*1.121) for i in [0, 5927, 6530, 7131, 7732, 8334, 8935, 9536, 10137, 10738, 11340, 11942, 12544, 13145, 13746, 14348, 14948, 15549, 16151, 16752, 17355, 17956, 18557, 19159, 19760, 20362, 20962, 21563, 22165, 22767, 23369, 23970, 24571, 25173, 25774,
                                    26376, 26976, 27577, 28180, 28781, 29383, 29984, 30585, 31187, 31788, 32389, 32991, 33592, 34194, 34795, 35397, 35998, 36599, 37201, 37802, 38402, 39005, 39606, 40208, 40809, 41410, 42012, 42613, 43216, 43816, 44417, 45019, 45620, 46222, 46823, 47424]]
    hit0 = 1
    # 最终爆炸攻击力：<data1>%
    data1 = [int(i*1.121) for i in [0, 13832, 15236, 16638, 18041, 19444, 20848, 22252, 23654, 25058, 26461, 27865, 29268, 30671, 32075, 33478, 34881, 36283, 37687, 39091, 40493, 41897, 43300, 44704, 46108, 47510, 48914, 50317, 51721, 53124, 54527, 55931, 57334, 58736, 60139,
                                    61543, 62947, 64349, 65753, 67156, 68560, 69963, 71366, 72770, 74173, 75576, 76980, 78383, 79787, 81188, 82592, 83995, 85399, 86802, 88205, 89609, 91012, 92415, 93819, 95222, 96626, 98029, 99432, 100836, 102238, 103642, 105044, 106448, 107851, 109255, 110658]]
    hit1 = 1
    CD = 25
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    MP = [400, 1620]
    无色消耗 = 1

    def 装备护石(self):
        self.hit0 = 1
        self.power0 = 1.34
        self.hit1 = 0
        self.CD = 8.3
        self.CDR = 0.88


class 技能14(主动技能):
    名称 = '夺命焰火'
    所在等级 = 70
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    # 第一次射击攻击力：<data0>%
    data0 = [int(i*1.122) for i in [0, 8355, 9202, 10049, 10897, 11744, 12591, 13439, 14286, 15134, 15981, 16829, 17677, 18524, 19372, 20219, 21067, 21915, 22762, 23610, 24457, 25305, 26153, 27000, 27848, 28695, 29542, 30390, 31237, 32085, 32932, 33780, 34628, 35475,
                                    36323, 37170, 38018, 38866, 39713, 40561, 41408, 42256, 43104, 43951, 44799, 45646, 46494, 47341, 48188, 49035, 49883, 50731, 51579, 52426, 53274, 54121, 54969, 55817, 56664, 57512, 58359, 59207, 60055, 60902, 61750, 62597, 63445, 64292, 65139, 65986, 66834]]
    hit0 = 1
    # 第二次射击攻击力：<data1>%
    data1 = [int(i*1.122) for i in [0, 12531, 13802, 15074, 16344, 17616, 18888, 20159, 21431, 22701, 23973, 25245, 26516, 27787, 29057, 30329, 31601, 32872, 34144, 35414, 36686, 37958, 39229, 40501, 41771, 43043, 44314, 45585, 46856, 48127, 49399, 50671, 51942, 53213,
                                    54484, 55756, 57028, 58299, 59570, 60841, 62112, 63384, 64655, 65926, 67197, 68469, 69741, 71012, 72283, 73554, 74826, 76098, 77369, 78640, 79910, 81182, 82453, 83725, 84996, 86267, 87539, 88811, 90082, 91353, 92624, 93896, 95168, 96438, 97709, 98980, 100252]]
    hit1 = 1
    # 最终射击攻击力：<data2>%
    data2 = [int(i*1.122) for i in [0, 5221, 5751, 6281, 6811, 7340, 7870, 8400, 8930, 9459, 9987, 10518, 11047, 11577, 12106, 12637, 13166, 13696, 14225, 14756, 15285, 15815, 16344, 16875, 17404, 17934, 18463, 18994, 19523, 20053, 20582, 21113, 21642, 22172, 22701,
                                    23232, 23762, 24291, 24820, 25351, 25881, 26410, 26939, 27469, 27998, 28528, 29057, 29588, 30117, 30647, 31176, 31707, 32236, 32766, 33295, 33826, 34355, 34885, 35414, 35945, 36474, 37004, 37533, 38064, 38593, 39123, 39652, 40183, 40712, 41242, 41771]]
    hit2 = 4
    CD = 50
    TP成长 = 0.10
    TP上限 = 5
    是否有护石 = 1

    MP = [400, 1620]
    无色消耗 = 2

    def 装备护石(self):
        self.power0 = 1.1
        self.power1 = 1.1
        self.power2 = 1.39


class 技能15(主动技能):
    名称 = '爆弹华尔兹'
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    # 第一次爆炸攻击力：<data0>%
    data0 = [int(i*1.12) for i in [0, 8598, 9471, 10342, 11215, 12088, 12959, 13832, 14704, 15576, 16449, 17321, 18192, 19066, 19938, 20809, 21683, 22555, 23426, 24299, 25172, 26043, 26916, 27789, 28660, 29533, 30405, 31277, 32150, 33022, 33894, 34767, 35639, 36510,
                                   37384, 38256, 39127, 40001, 40873, 41744, 42617, 43490, 44361, 45234, 46107, 46978, 47851, 48723, 49595, 50468, 51340, 52212, 53085, 53957, 54828, 55702, 56574, 57445, 58319, 59191, 60063, 60935, 61808, 62680, 63552, 64425, 65297, 66169, 67041, 67914, 68786]]
    hit0 = 3
    # 第二次爆炸攻击力：<data1>%
    data1 = [int(i*1.12) for i in [0, 7738, 8523, 9308, 10093, 10878, 11664, 12448, 13234, 14018, 14804, 15588, 16374, 17158, 17944, 18729, 19514, 20299, 21084, 21869, 22654, 23439, 24224, 25009, 25795, 26580, 27365, 28149, 28935, 29719, 30505, 31289, 32075, 32859,
                                   33646, 34430, 35216, 36000, 36785, 37570, 38355, 39140, 39925, 40711, 41496, 42281, 43066, 43851, 44636, 45420, 46206, 46990, 47776, 48561, 49347, 50131, 50917, 51701, 52487, 53271, 54056, 54841, 55627, 56412, 57197, 57982, 58767, 59552, 60337, 61122, 61907]]
    hit1 = 5
    CD = 40
    是否有护石 = 1

    MP = [580, 4500]
    无色消耗 = 3

    def 装备护石(self):
        self.hit0 = 0
        self.hit1 = 8
        self.power1 = 1.38
        self.CDR *= 0.9


class 技能16(被动技能):
    名称 = '无法者之歌'
    所在等级 = 75
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.22 + 0.02 * self.等级, 5)


class 技能17(主动技能):
    名称 = '覆灭之枪'
    所在等级 = 80
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    # 射击攻击力：<data0>%
    data0 = [int(i*1.123) for i in [0, 80661, 88844, 97027, 105211, 113394, 121578, 129761, 137944, 146126, 154309, 162493, 170676, 178859, 187042, 195225, 203408, 211591, 219774, 227957, 236140, 244324, 252507, 260690, 268873, 277057, 285240, 293422, 301605, 309788, 317971, 326154, 334338, 342521, 350705,
                                    358888, 367071, 375253, 383436, 391620, 399803, 407986, 416169, 424352, 432535, 440719, 448901, 457084, 465268, 473451, 481634, 489817, 498001, 506184, 514367, 522549, 530732, 538915, 547098, 555282, 563465, 571649, 579832, 588015, 596198, 604380, 612564, 620747, 628930, 637113, 645296]]
    hit0 = 1
    CD = 50
    是否有护石 = 1

    MP = [600, 5000]
    无色消耗 = 5

    def 装备护石(self):
        self.倍率 = 1.4


class 技能18(主动技能):
    名称 = '终焉：硝烟狂欢'
    所在等级 = 85
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40

    # CTF地雷爆炸攻击力：<data0>%
    data0 = [int(i*1.123) for i in [0, 16487, 20308, 24131, 27954, 31777, 35600, 39422, 43246, 47069, 50892, 54714, 58537, 62360, 66184, 70005, 73829, 77652, 81475, 85298, 89120, 92943, 96767, 100589, 104413, 108235, 112058, 115881, 119704, 123526, 127350, 131172, 134996, 138818, 142641, 146464,
                                    150287, 154110, 157933, 161755, 165579, 169401, 173225, 177047, 180870, 184693, 188517, 192338, 196161, 199984, 203807, 207631, 211452, 215276, 219099, 222922, 226745, 230567, 234390, 238214, 242036, 245859, 249681, 253505, 257328, 261151, 264973, 268797, 272619, 276443, 280264]]
    hit0 = 4
    # 最后爆炸攻击力：<data1>%
    data1 = [int(i*1.123) for i in [0, 7608, 9372, 11138, 12902, 14666, 16430, 18195, 19960, 21723, 23488, 25252, 27018, 28781, 30546, 32310, 34076, 35839, 37603, 39368, 41132, 42897, 44661, 46426, 48190, 49953, 51719, 53483, 55248, 57011, 58777, 60541, 62306, 64069, 65833, 67599,
                                    69363, 71127, 72891, 74657, 76421, 78184, 79949, 81714, 83479, 85242, 87007, 88771, 90537, 92300, 94064, 95829, 97594, 99358, 101122, 102887, 104652, 106415, 108180, 109944, 111709, 113473, 115238, 117002, 118767, 120530, 122295, 124060, 125824, 127588, 129353]]
    hit1 = 13
    CD = 180

    MP = [2500, 5000]
    无色消耗 = 10


class 技能19(主动技能):
    名称 = '铁腕爆弹'
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 2
    等级精通 = 40

    data0 = [int(i*1.12) for i in [0, 33954, 37399, 40845, 44290, 47733, 51178, 54623, 58068, 61513, 64958, 68402, 71847, 75291, 78736, 82181, 85626, 89071, 92515, 95961, 99406, 102849, 106294, 109739, 113183, 116629, 120074, 123519, 126962, 130407, 133853, 137297, 140742, 144187, 147631, 151076,
                                   154521, 157965, 161410, 164855, 168300, 171745, 175190, 178634, 182078, 185523, 188969, 192413, 195858, 199303, 202746, 206191, 209637, 213082, 216526, 219971, 223416, 226860, 230305, 233750, 237194, 240639, 244085, 247529, 250974, 254418, 257863, 261307, 264753, 268198, 271642]]
    hit0 = 4
    CD = 60

    MP = [960, 7200]
    无色消耗 = 7


class 技能20(被动技能):
    名称 = '铁血豪情'
    所在等级 = 95
    等级上限 = 50
    学习间隔 = 3
    等级精通 = 40

    def 加成倍率(self, 武器类型):
        if self.等级 == 0:
            return 1.0
        else:
            return round(1.18 + 0.02 * self.等级, 5)


class 技能21(主动技能):
    名称 = '烽火硝烟·终末之征'
    所在等级 = 100
    等级上限 = 50
    学习间隔 = 5
    等级精通 = 40

    data0 = [int(i*1.123) for i in [0, 17120, 21091, 25061, 29031, 33001, 36972, 40942, 44912, 48883, 52854, 56824, 60794, 64764, 68735, 72705, 76674, 80644, 84615, 88585, 92555, 96525, 100496, 104466, 108436, 112406, 116377, 120347, 124317, 128287, 132258, 136228, 140198, 144167, 148138, 152108,
                                    156078, 160048, 164019, 167989, 171959, 175929, 179901, 183871, 187841, 191811, 195782, 199752, 203722, 207692, 211662, 215632, 219602, 223572, 227543, 231513, 235483, 239453, 243424, 247394, 251364, 255334, 259305, 263275, 267245, 271215, 275186, 279156, 283125, 287095, 291065]]
    hit0 = 5
    data1 = [int(i*1.123) for i in [0, 342431, 421836, 501240, 580644, 660049, 739454, 818857, 898262, 977666, 1057070, 1136475, 1215879, 1295284, 1374688, 1454093, 1533497, 1612901, 1692306, 1771711, 1851115, 1930520, 2009923, 2089328, 2168732, 2248136, 2327541, 2406946, 2486350, 2565755, 2645158, 2724563, 2803968, 2883372, 2962777,
                                    3042182, 3121585, 3200990, 3280394, 3359799, 3439204, 3518608, 3598011, 3677415, 3756820, 3836225, 3915629, 3995034, 4074438, 4153842, 4233247, 4312651, 4392056, 4471461, 4550865, 4630269, 4709674, 4789079, 4868483, 4947886, 5027290, 5106695, 5186100, 5265504, 5344909, 5424313, 5503718, 5583122, 5662527, 5741931, 5821335]]
    hit1 = 1
    CD = 290

    MP = [4025, 8055]
    无色消耗 = 15


class classChange(Character):
    def __init__(self):
        self.实际名称 = 'trouble_shooter'
        self.名称 = '苍暮·战线佣兵'
        self.角色 = '枪剑士'
        self.角色类型 = '输出'
        self.职业 = '战线佣兵'
        self.武器选项 = ['重剑']
        self.输出类型选项 = ['物理百分比']
        self.防具精通属性 = ['力量']
        self.类型 = '物理百分比'
        self.武器类型 = '重剑'
        self.防具类型 = '重甲'
        技能列表 = []
        技能序号 = {}
        i = 0
        while i >= 0:
            try:
                tem = eval('技能'+str(i)+'()')
                tem.基础等级计算()
                技能序号[tem.名称] = i
                技能列表.append(tem)
                i += 1
            except:
                i = -1
        self.技能栏 = 技能列表
        self.技能序号 = 技能序号
        self.buff = 2.00

        super().__init__()
